package com.example.voice


import mobile.Mobile
import android.app.Service
import android.content.Intent
import android.os.IBinder
import android.util.Log
import kotlinx.coroutines.*
class FrpService : Service() {

    companion object {
        private const val TAG = "FrpService"
    }

    override fun onBind(intent: Intent?): IBinder? {
        // 如果您的服务不需要绑定，则返回null。
        return null
    }

    override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
        // 在此处执行您的服务逻辑。例如，您可以在这里执行长时间运行的操作。
        val port = intent?.getStringExtra("port")
        val name = intent?.getStringExtra("name")
        val ip = intent?.getStringExtra("ip")

        // 使用协程在后台执行耗时操作
        GlobalScope.launch(Dispatchers.IO) {
            try {
            Mobile.run(port, name, ip)

            } catch (e: Exception) {
                // Log the exception
                Log.e(TAG, "Error in Mobile.run: ${e.message}", e)
            }
        }


        // 如果系统终止服务，当资源充足时，服务将重启。
        return START_STICKY
    }

    override fun onDestroy() {
        super.onDestroy()
    }
}
